#include <stdio.h>

#include <Ape/Object.h>
#include <Ape/IO/Console.h>
#include <ApeTest/testPluginBase.h>

#include <stdio.h>

namespace TestLib {
	class TestClass : public Ape::Object {
		TYPE_NAME ("TestLib::TestClass")
	public:
		TestClass() {
			Ape::IO::StdOut << L"TestClass::ctor()" << Ape::IO::NewLine;
		}
		virtual ~TestClass() {
			Ape::IO::StdOut << L"TestClass::dtor()" << Ape::IO::NewLine;
		}
	};
	
	class TestPluginDerivative : public ApeTest::TestPluginBase {
		TYPE_NAME ("TestLib::TestPluginDerivative")
	public:
		TestPluginDerivative() {
			
		}
		
		virtual ~TestPluginDerivative() {
		}
	};
}



extern "C" {
	void testFunction () {
	
	}
	
	Ape::Object* APE_new__TestLib__TestPluginDerivative() {
		return new TestLib::TestPluginDerivative();
	}
	
	Ape::Object* APE_new__TestLib__TestClass() {
		return new TestLib::TestClass();
	}
	
	void APE_dispose_Object (Ape::Object* obj) {
		delete obj;
	}
}

